package 进阶阶段;

public class demo19递归 {
    public static void main(String[] args) {
        //递归：指在当前方法内,方法自己调用自己的这种现象,前提是这个方法也要给调用起来
        //注意事项:
            //1.递归一定要有一个出口,否则容易出现栈内存溢出错误StackOverflowError
            //2.递归调用次数不能过多,否则容易出现栈内存溢出错误StackOverflowError
            //3.构造方法不能递归调用,,否则容易出现栈内存溢出错误StackOverflowError

        int count = 5;
        method(count);

//        demo20递归 demo20递归 = new demo20递归();
    }

    public static void method(int count){

        if (count == 0){
            return;
        }

        System.out.println("递归");
        count--;
        method(count);
    }

    public demo19递归(){
        System.out.println("构造方法不能递归调用,,否则容易出现栈内存溢出错误StackOverflowError");
        new demo19递归();
    }
}
